package com.shycloud.mido.music.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.shycloud.mido.music.domain.MisMyCollection;
import com.shycloud.mido.music.vo.AddMusicVO;
import com.shycloud.mido.music.vo.CollCourseWareVO;
import com.shycloud.mido.music.vo.MyCollectionVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 【自定义曲集】mapper
 *
 * @author nianhua.jiang
 */
public interface MisMyCollectionMapper extends BaseMapper<MisMyCollection> {

	/**
	 * 分页获取【自定义曲集】
	 *
	 * @param page
	 * @param userId
	 * @return com.baomidou.mybatisplus.core.metadata.IPage<com.shycloud.mido.music.vo.MyCollectionVO>
	 * @author nianhua.jiang
	 * @date 2020/5/9 10:46
	 */
	IPage<MyCollectionVO> getMyCollection(@Param("page") Page page, @Param("userId") String userId);

	/**
	 * 新建【自建曲集】后检索此曲集的信息
	 *
	 * @param id
	 * @return com.shycloud.mido.music.vo.MyCollectionVO
	 * @author nianhua.jiang
	 * @date 2020/6/19 14:23
	 */
	MyCollectionVO getMyCollectionSaveAfter(Integer id);

	/**
	 * 获取【自定义曲集】
	 *
	 * @param userId
	 * @return java.util.List<com.shycloud.mido.music.vo.MyCollectionVO>
	 * @author nianhua.jiang
	 * @date 2020/6/30 18:07
	 */
	List<MyCollectionVO> getMyCollection(String userId);

	/**
	 * @return java.util.List<com.shycloud.mido.music.vo.AddMusicVO>
	 * @author nianhua.jiang
	 * @date 2020/9/1 14:06
	 **/
	List<AddMusicVO> getMyCollectionForAddMusicPage(@Param("memberId") String memberId);

	List<MyCollectionVO> getMyCollectionByMini(@Param("searchWord") String searchWord, @Param("memberId") String memberId);

	List<CollCourseWareVO> getMyCollectionCourseWare(@Param("memberId") String memberId);
}